"""
类属性
    直接定义在类中的属性叫做类属性
    使用类属性，所有的对象都共享这个属性，一般用于常量或者固定的配置信息，或者是计数器

类方法：
    1. 被@classmethod这个装饰器所修饰的方法叫做类方法
    2. 第一个参数是cls
    3. 前提 必须在类中
    4.类方法调用不了成员属性及成员方法，
    成员方法可以调用类属性及类方法，通过self来调用

能用对象名来调用属性及方法，那么我们的成员方法也可以调用
能用类名来调用属性及方法，那么我们的类方法也可以调用


什么是装饰器？ python里面有哪些装饰器？
@classmethod  (ka la si mai se d )    底层是一个闭包




"""
class Dog:
    name = "旺财"  #类属性

    def sleep(self):
        print(self.name)
        print("成员方法")
    @classmethod
    def eat(cls):
        # 通过cls来调用类属性    agent
        print(cls.name)

        # print("吃吃吃")


#怎么调用类属性？
# 二种调用方式   对象名.类属性名
d1=Dog()
print(d1.name)
#第二种方式  类名.类属性名
print(Dog.name)

# Dog.sleep()







